6. CSI 摄像头
6.1 简介
- CSI(Camera Serial Interface)是一种用于图像传输的串行接口标准。它是由MIPI联盟(MIPI Alliance)制定和管理的,MIPI联盟是一个专门致力于移动设备接口标准的组织。CSI主要用于连接图像传感器和图像处理器或其他设备,例如数字信号处理器(DSP)或应用处理器。它提供了一种高速、低功耗的方式,用于传输图像和相关的控制信号。
 - CSI接口在许多应用领域得到广泛应用,特别是在移动设备、嵌入式系统和消费电子产品中。它为图像传感器和图像处理器之间提供了一种可靠、高效的连接方式,使得高质量图像的实时捕获和处理成为可能。
 
6.2 硬件连接
Core3566目前适配了 IMX219 摄像头。要测试 CSI 摄像头,建议给 Core3566 接入 HDMI 屏幕或者 DSI 屏幕。
在 CM4-IO-BASE-B 底板上,CSI(摄像头)和DSI(显示器)两个接口的封装是相似的。在接线时需要注意不要接错。这两个 CSI 接口位于 GPIO 接口的对面,而 DSI 接口则位于 Power 接口的边上。请注意,如果您使用的是其他底板,具体的布局可能会有所不同,请以您所使用底板的布局为准。
将排线的金属面朝向Core3566核心板,接入摄像头接口。

6.3 查看摄像头信息
使用 v4l2-ctl 命令输出的设备列表信息:
v4l2-ctl --list-deviceslinaro@linaro-alip:~$ v4l2-ctl --list-devices
rkisp-statistics (platform: rkisp):
/dev/video7
/dev/video8
/dev/video16
/dev/video17
rkisp_mainpath (platform:rkisp-vir0):
/dev/video0
/dev/video1
/dev/video2
/dev/video3
/dev/video4
/dev/video5
/dev/video6
rkisp_mainpath (platform:rkisp-vir1):
/dev/video9
/dev/video10
/dev/video11
/dev/video12
/dev/video13
/dev/video14
/dev/video15
linaro@linaro-alip:~$- 在 Rockchip(rkisp)平台上,rkisp-vir0 和 rkisp-vir1 是两个虚拟设备,用于处理图像和视频数据的主路径。这些虚拟设备可以与摄像头或其他视频输入设备进行交互,并提供对图像和视频数据的处理和传输功能。
 - 通常情况下,rkisp-vir0 和 rkisp-vir1 可以连接到不同的摄像头或视频输入源,以实现多路图像采集和处理。它们提供了对图像和视频数据进行处理和传输的接口,供应用程序或系统进行调用和使用。
 
#列出摄像头相关参数:
#CSI0
v4l2-ctl --list-formats-ext --device=/dev/video0
#CSI1
v4l2-ctl --list-formats-ext --device=/dev/video9摄像头预览:
#如果在SSH终端上运行,要将图形界面显示在第一个屏幕
export DISPLAY=:0.0
#CSI0
gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=1920,height=1080, framerate=30/1 ! xvimagesink
#CSI1
gst-launch-1.0 v4l2src device=/dev/video9 ! video/x-raw,format=NV12,width=1920,height=1080, framerate=30/1 ! xvimagesink拍照:
#CSI0
sudo gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video0 ! jpegenc ! filesink location=picture.jpg
#CSI1
sudo gst-launch-1.0 v4l2src num-buffers=1 device=/dev/video9 ! jpegenc ! filesink location=picture.jpg